import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;


public class TerapeutaKudeatzailea {
	//Singleton patroia
	private static TerapeutaKudeatzailea instantzia = new TerapeutaKudeatzailea();
	
	private TerapeutaKudeatzailea(){
		
	}
	
	public static TerapeutaKudeatzailea getInstantzia() {
		return instantzia;
	}
	
	public Terapeuta terapeutaBilatu(String nan) {

		Terapeuta t;	
		String izena;
		String abizena;
		String pasahitza;
		
		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
		
		String k1 = "SELECT izena, abizena, pasahitza" + " FROM terapeutak"
		+ " WHERE NAN = '" + nan +"'" ;
		
	
		ResultSet rs = dbk.execSQL(k1);
		
		try {
			rs.next();

			izena= rs.getString("izena");
			abizena= rs.getString("abizena");
			pasahitza= rs.getString("pasahitza");
			
			t = new Terapeuta(nan, izena, abizena, pasahitza);
		
			rs.close();

		} catch (SQLException e) {
			// Emaitza hutsa izango da beraz nan edo pasahitza okerrak dira
			t = null;
			try {
				EIDatuEzZuzena dialog = new EIDatuEzZuzena();
				
			} catch (Exception ex) {
				ex.printStackTrace();
			}


		}
		return t;
	}
	
	public void terapeutaGehitu(Terapeuta t){
		
		String nan = t.getNan();
		String izena = t.getIzena();
		String abizena= t.getAbizena();
		String pasahitza = t.getPasahitza();
		String esp = t.getEspezialitateak();
		String lana = "terapeuta";
		
		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
		
		String k1 = "INSERT INTO terapeutak (NAN, izena, abizena, pasahitza, lana)"
			+ " VALUES ('" + nan +"','" + izena +"','" + abizena +"','" + pasahitza +"','" + lana +"')" ;

	
		dbk.execSQL(k1);
		
		String k2 = "INSERT INTO espezialitateak (espezialitatea, terapeuta)"
			+ " VALUES ('" + esp +"','" + nan +"')" ;

	
		dbk.execSQL(k2);
		
	}
	
	public void terapeutaEzabatu(String nan){
		
		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
		
		String k1 = "DELETE FROM terapeutak"
		+ " WHERE NAN = '" + nan +"'" ;

		dbk.execSQL(k1);
		
	}

	public void espezialitateaGehitu(String nan, String espezialitatea) {
		
		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
		
		String k1 = "INSERT INTO espezialitateak (espezialitatea, terapeuta)"
			+ " VALUES ('" + espezialitatea +"','" + nan +"')" ;

	
		dbk.execSQL(k1);
		
	}

	public Vector<String> getEspezialitateak(String nan) {
		
		Vector<String> lista = new Vector<String>();
		String esp;
		
		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
		
		String k1 = "SELECT DISTINCT espezialitatea" + " FROM espezialitateak"
		+ " WHERE terapeuta = '" + nan +"'" ;
	
		ResultSet rs = dbk.execSQL(k1);
		
		try {
			while (rs.next()){
				esp= rs.getString("espezialitatea");
			
				lista.add(esp);
			}
		
			rs.close();

		} catch (SQLException e) {
			lista = null;
			
		}
		return lista;
	}

	
	
}
